home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 151-175 / scopedisk168 / asmmacros / am_02 / seek.i < prev    next >
Text File  |  1995-03-19  |  1KB  |  49 lines

  1.      NOLIST
  2. Seek        MACRO              ; 15 Sept 88
  3. *------------------------------; Start of Seek macro.
  4.                                ; Put the file handle in D1.
  5.      NOLIST
  6.      IFEQ ReEntrant-1
  7.      LIST
  8.      MOVE.L \1(A5),D1
  9.      NOLIST
  10.      ENDC
  11.      IFNE ReEntrant-1
  12.      LIST
  13.      MOVE.L \1,D1
  14.      NOLIST
  15.      ENDC
  16.      IFEQ NARG-1               ; If only the file handle was given, then
  17.      LIST
  18.      CLR.L D2                  ; Make offset be zero from current.
  19.      CLR.L D3
  20.      NOLIST
  21.      ENDC
  22.      IFEQ NARG-2               ; If offset was given without argument #3,
  23.      LIST
  24.                                ; Make offset be from the beginning.
  25.      MOVE.L #\2,D2
  26.      MOVEQ.L #-1,D3
  27.      NOLIST
  28.      ENDC
  29.      IFEQ NARG-3               ; If FromCurrent or BeforeEnd is specified,
  30.      IFC '\3','FromCurrent'
  31.      LIST
  32.      CLR.L D3                  ; Make offset from current.
  33.      MOVE.L #\2,D2
  34.      NOLIST
  35.      ENDC
  36.      IFC '\3','BeforeEnd'
  37.      LIST
  38.      MOVEQ #1,D3               ; Make offset before end.
  39.      MOVE.L #-\2,D2
  40.      NOLIST
  41.      ENDC
  42.      ENDC
  43.      LIST
  44.      CallLib Seek,dos          ; Call Seek.
  45.      CMPI.L #-1,D0             ; Make the zero flag indicate failure.
  46. *------------------------------; End of Seek macro.
  47.      ENDM
  48.      LIST
  49.